<html>
<head><meta charset="utf-8"><title>plugin-api-deprecation · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/plugin-api-deprecation.html">plugin-api-deprecation</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="159406030"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/plugin-api-deprecation/near/159406030" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/plugin-api-deprecation.html#159406030">(Feb 26 2019 at 07:58)</a>:</h4>
<p>Much of our plugin API now has stable or to-be-stable equivalents. I'd like to add deprecation attributes to the replaceable APIs and remove them after a while</p>



<a name="159406055"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/plugin-api-deprecation/near/159406055" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/plugin-api-deprecation.html#159406055">(Feb 26 2019 at 07:59)</a>:</h4>
<p>Is there anything speaking against that or for just outright removal without a deprecation period</p>



<a name="159406061"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/plugin-api-deprecation/near/159406061" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/plugin-api-deprecation.html#159406061">(Feb 26 2019 at 07:59)</a>:</h4>
<p>Is there anything speaking against that or for just outright removal without a deprecation period</p>



<a name="159406062"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/plugin-api-deprecation/near/159406062" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/plugin-api-deprecation.html#159406062">(Feb 26 2019 at 07:59)</a>:</h4>
<p>Is there anything speaking against that or for just outright removal without a deprecation period</p>



<a name="159414485"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/plugin-api-deprecation/near/159414485" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/plugin-api-deprecation.html#159414485">(Feb 26 2019 at 10:42)</a>:</h4>
<p>Is this something we could test with a crater run? Or are the codebases in question unlikely to be on <a href="http://crates.io" target="_blank" title="http://crates.io">crates.io</a>?</p>



<a name="159418377"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/plugin-api-deprecation/near/159418377" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/plugin-api-deprecation.html#159418377">(Feb 26 2019 at 11:57)</a>:</h4>
<p>hm, oops, mobile zulip is repeating messages</p>



<a name="159418423"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/plugin-api-deprecation/near/159418423" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/plugin-api-deprecation.html#159418423">(Feb 26 2019 at 11:58)</a>:</h4>
<p>There are definitely codebases using these that are outside <a href="http://crates.io" target="_blank" title="http://crates.io">crates.io</a></p>



<a name="159418436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/plugin-api-deprecation/near/159418436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/plugin-api-deprecation.html#159418436">(Feb 26 2019 at 11:58)</a>:</h4>
<p>e.g. servo uses the lint API</p>



<a name="159418443"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/plugin-api-deprecation/near/159418443" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/plugin-api-deprecation.html#159418443">(Feb 26 2019 at 11:58)</a>:</h4>
<p>we're not deprecating that one for now though</p>



<a name="159418447"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/plugin-api-deprecation/near/159418447" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/plugin-api-deprecation.html#159418447">(Feb 26 2019 at 11:58)</a>:</h4>
<p>but it would seem to me that others might be using the proc macro APIs</p>



<a name="159418465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/plugin-api-deprecation/near/159418465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/plugin-api-deprecation.html#159418465">(Feb 26 2019 at 11:59)</a>:</h4>
<p>that's why I want to deprecate so we'll get that information to them</p>



<a name="159418542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/plugin-api-deprecation/near/159418542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/plugin-api-deprecation.html#159418542">(Feb 26 2019 at 12:00)</a>:</h4>
<p>And for servo I'm trying for a cargo based solution that will make custom drivers first class citizens like plugins instead of the horrible hacks that they are right now.</p>



<a name="159420000"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/plugin-api-deprecation/near/159420000" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/plugin-api-deprecation.html#159420000">(Feb 26 2019 at 12:28)</a>:</h4>
<p>I guess technically these APIs were never stable to begin with.</p>



<a name="159521583"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/plugin-api-deprecation/near/159521583" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Cem Karan <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/plugin-api-deprecation.html#159521583">(Feb 27 2019 at 14:56)</a>:</h4>
<blockquote>
<p>Much of our plugin API now has stable or to-be-stable equivalents. I'd like to add deprecation attributes to the replaceable APIs and remove them after a while</p>
</blockquote>
<p>I know that unstable features could go away at any moment, but out of politeness sake, I'd suggest that you add deprecation warnings and remove them later.   You can probably shorten the warning period though, anyone that is using nightly/beta is aware of the lack guarantees about stability.</p>



<a name="159525110"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/plugin-api-deprecation/near/159525110" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/plugin-api-deprecation.html#159525110">(Feb 27 2019 at 15:41)</a>:</h4>
<blockquote>
<p>And for servo I'm trying for a cargo based solution that will make custom drivers first class citizens like plugins instead of the horrible hacks that they are right now.</p>
</blockquote>
<p><span class="user-mention" data-user-id="124288">@oli</span> Could you elaborate? How do we expose a linting API without stabilizing parts of AST/Hir/... ?</p>



<a name="159525246"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/plugin-api-deprecation/near/159525246" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> centril <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/plugin-api-deprecation.html#159525246">(Feb 27 2019 at 15:42)</a>:</h4>
<p>As for getting rid of plugin APIs: <span aria-label="tada" class="emoji emoji-1f389" role="img" title="tada">:tada:</span>, the sooner the better</p>



<a name="159539103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/plugin-api-deprecation/near/159539103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/plugin-api-deprecation.html#159539103">(Feb 27 2019 at 18:21)</a>:</h4>
<p>We don't expose it via plugins but via drivers. Just like clippy is doing it. Still won't be stable, but we'll not need dynamic loading of libraries that link against the compiler anymore</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>